import json
import os
import time
import win32con
import win32gui



# 获取项目目录
from base import conf


def get_path():
    base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    return base_dir


# 上传文件
def upload(file_path, browser_type="chrome"):
    time.sleep(2)
    if browser_type == "chrome":
        title = "打开"
        # time.sleep(1)
    else:
        title = ""
    # 找元素
    # 一级窗口 "#32770", "打开"
    dialog = win32gui.FindWindow("#32770", title)
    ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, "ComboBoxEx32", None)  # 二级窗口,0代表从第一个开始找,后面是class和title
    ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, "ComboBox", None)  # 三级窗口
    # 编辑按钮
    edit = win32gui.FindWindowEx(ComboBox, 0, "Edit", None)  # 四级窗口
    # 打开按钮
    button = win32gui.FindWindowEx(dialog, 0, "Button", "打开(&0)")
    win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, file_path)  # 发送文件路径
    win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  # 点击打开按钮
    time.sleep(1)


def get_use_data():  # 使用登录相关的数据
    with open(get_path() + '\data\data.json', 'r', encoding='utf8')as f:
        json_data_all = json.load(f)
        if conf.use_url == '内测电脑1':
            json_data = json_data_all['use1']  # 电脑对应使用的不同账号
        if conf.use_url == '内测电脑2':
            json_data = json_data_all['use2']  # 电脑对应使用的不同账号
        if conf.use_url == '内测电脑3':
            json_data = json_data_all['use3']  # 电脑对应使用的不同账号
        if conf.use_url == '内测电脑4':
            json_data = json_data_all['use4']  # 电脑对应使用的不同账号
        if conf.use_url == '公测验证':
            json_data = json_data_all['dxb']  # 电脑对应使用的不同账号

        return json_data
